FHIR © HL7.org  |  Server Home  |  FHIR Server FHIR Server 3.4.11  |  FHIR Version n/a  User: [n/a]

Resource StructureMap/FHIR Server from package who.ddcc#current (47 ms)

Package who.ddcc
Type StructureMap
Id Id
FHIR Version R4
Source http://smart.who.int/ddcc/https://build.fhir.org/ig/WorldHealthOrganization/ddcc/StructureMap-DDCCtoEUdcc.html
Url http://smart.who.int/ddcc/StructureMap/DDCCtoEUdcc
Version 1.0.0
Status draft
Date 2024-10-17T05:03:04+00:00
Name DDCCtoEUdcc
Experimental False
Realm uv
Authority who

Resources that use this resource

No resources found


Resources that this resource uses

No resources found



Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: StructureMap DDCCtoEUdcc

map "http://smart.who.int/ddcc/StructureMap/DDCCtoEUdcc" = "DDCCtoEUdcc"

uses "http://smart.who.int/ddcc/StructureDefinition/DDCCVSomposition" alias DDCC as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCDocument" alias DDCCDocument as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient" alias DDCCPatient as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition" alias DDCCVSComposition as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization" alias DDCCOrganization as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination" alias DDCCCountryOfVaccination as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand" alias DDCCVaccineBrand as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization" alias DDCCImmunization as source
uses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/HC1" alias EUDCC as target
uses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/v" alias vacEvent as target

group DecodeDDCCtoQR(source ddcc : DDCCDocument, target qr : EUDCC) {
  ddcc -> qr.ver = 'XXX' "Version";
  ddcc.entry as entry then {
    entry.resource : DDCCPatient as patient then DecodePatientToQR(patient, qr) "Patient";
  } "Patient";
  ddcc.entry as entry then {
    entry.resource : Immunization as immunization then DecodeImmunizationToQR(ddcc, immunization, qr) "Immunization";
  } "Immunization";
}

group DecodePatientToQR(source patient : DDCCPatient, target qr : EUDCC) {
  patient.birthDate as birthDate -> qr.dob = birthDate;
  patient.name as name then {
    name.text as text -> qr.nam = text;
  };
}

group DecodeImmunizationToQR(source ddcc : DDCCDocument, source immunization : DDCCImmunization, target qr : EUDCC) {
  immunization -> qr.v = create('http://hl7.eu/fhir/ig/dcc/StructureDefinition/v') as vacEvent then {
    immunization.protocolApplied as protocol then {
      protocol.doseNumberPositiveInt as dose -> vacEvent.dn = dose;
      protocol.seriesDosesPositiveInt as doseNum -> vacEvent.sd = doseNum;
      protocol.targetDisease as targetDisease then {
        targetDisease.coding as coding then {
          coding.code as code -> vacEvent.tg = code;
        } "ProtocolDiseaseCode";
      } "ProtocolDisease";
    } "Protocol";
    immunization.occurrenceDateTime as date -> vacEvent.dt = date;
    // TODO: need to populate vacEvent.ma market authorization holder
    // immunization.extension : DDCCCountryOfVaccination as country
    immunization.extension as country where (url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfEvent') then {
      country.valueCode as code -> vacEvent.co = code;
    } "Country";
    // immunization.extension : DDCCBrand as brand
    immunization.extension as brand where (url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCEventBrand') then {
      brand.valueCoding as valueCoding then {
        valueCoding.code as code -> vacEvent.mp = code;
      } "VaccineBrandCode";
    } "VaccineBrand";
    // immunization.vaccineCode : Coding as vaccineCode then {
    immunization.vaccineCode as vaccineCode then {
      vaccineCode.coding as coding then {
        coding.code as code -> vacEvent.vp = code;
      } "VaccineCode";
    } "VaccineCoding";
    ddcc.entry as entry then {
      // entry.resource : DDCCOrganization as organization
      entry.resource : Organization as organization then {
        organization.name as name -> vacEvent.is = name;
      } "CentreName";
    } "VaccinationCentre";
    ddcc.entry as entry then {
      // entry.resource : DDCCVSComposition as composition
      entry.resource : Composition as composition then {
        composition.identifier as identifier then {
          identifier.value as value -> vacEvent.ci = value;
        } "VaccinationEventIDValue";
      } "VaccinationEventID";
    } "VaccinationEvent";
  } "Vaccination";
}


Source

{
  "resourceType" : "StructureMap",
  "id" : "DDCCtoEUdcc",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap DDCCtoEUdcc</b></p><a name=\"DDCCtoEUdcc\"> </a><a name=\"hcDDCCtoEUdcc\"> </a><a name=\"DDCCtoEUdcc-en-US\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>http://smart.who.int/ddcc/StructureMap/DDCCtoEUdcc<span style=\"color: navy\">&quot; = &quot;</span>DDCCtoEUdcc<span style=\"color: navy\">&quot;\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> &quot;</span>http://smart.who.int/ddcc/StructureDefinition/DDCCVSomposition<span style=\"color: navy\">&quot; </span><b>alias </b>DDCC <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-DDCCDocument.html\" title=\"DDCC Document\">http://smart.who.int/ddcc/StructureDefinition/DDCCDocument</a><span style=\"color: navy\">&quot; </span><b>alias </b>DDCCDocument <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-DDCCPatient.html\" title=\"DDCC Patient\">http://smart.who.int/ddcc/StructureDefinition/DDCCPatient</a><span style=\"color: navy\">&quot; </span><b>alias </b>DDCCPatient <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-DDCCVSComposition.html\" title=\"DDCC:VS Composition\">http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition</a><span style=\"color: navy\">&quot; </span><b>alias </b>DDCCVSComposition <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-DDCCOrganization.html\" title=\"DDCC Organization\">http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization</a><span style=\"color: navy\">&quot; </span><b>alias </b>DDCCOrganization <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span>http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination<span style=\"color: navy\">&quot; </span><b>alias </b>DDCCCountryOfVaccination <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span>http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand<span style=\"color: navy\">&quot; </span><b>alias </b>DDCCVaccineBrand <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-DDCCImmunization.html\" title=\"DDCC Immunization\">http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization</a><span style=\"color: navy\">&quot; </span><b>alias </b>DDCCImmunization <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span>http://hl7.eu/fhir/ig/dcc/StructureDefinition/HC1<span style=\"color: navy\">&quot; </span><b>alias </b>EUDCC <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span>http://hl7.eu/fhir/ig/dcc/StructureDefinition/v<span style=\"color: navy\">&quot; </span><b>alias </b>vacEvent <b>as </b><b>target</b>\r\n\r\n<b>group </b>DecodeDDCCtoQR<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">ddcc</span><span style=\"color: navy\"> : </span>DDCCDocument, <b>target</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>EUDCC<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> ddcc<span style=\"color: navy\"><b> -&gt; </b></span>qr.ver = <span style=\"color: blue\">'XXX'</span> <i>&quot;Version&quot;</i><span style=\"color: navy\">;</span>\r\n ddcc.entry<b> as </b><span style=\"color: maroon\">entry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<span style=\"color: navy\"> : </span>DDCCPatient<b> as </b><span style=\"color: maroon\">patient</span><b> then </b>DecodePatientToQR<span style=\"color: navy\">(</span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">)</span> <i>&quot;Patient&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;Patient&quot;</i><span style=\"color: navy\">;</span>\r\n ddcc.entry<b> as </b><span style=\"color: maroon\">entry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<span style=\"color: navy\"> : </span>Immunization<b> as </b><span style=\"color: maroon\">immunization</span><b> then </b>DecodeImmunizationToQR<span style=\"color: navy\">(</span><span style=\"color: maroon\">ddcc</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">immunization</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">)</span> <i>&quot;Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>DecodePatientToQR<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>DDCCPatient, <b>target</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>EUDCC<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> patient.birthDate<b> as </b><span style=\"color: maroon\">birthDate</span><span style=\"color: navy\"><b> -&gt; </b></span>qr.dob = <span style=\"color: maroon\">birthDate</span><span style=\"color: navy\">;</span>\r\n patient.name<b> as </b><span style=\"color: maroon\">name</span><b> then</b><span style=\"color: navy\"> {\r\n</span> name.text<b> as </b><span style=\"color: maroon\">text</span><span style=\"color: navy\"><b> -&gt; </b></span>qr.nam = <span style=\"color: maroon\">text</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>DecodeImmunizationToQR<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">ddcc</span><span style=\"color: navy\"> : </span>DDCCDocument, <b>source</b> <span style=\"color: maroon\">immunization</span><span style=\"color: navy\"> : </span>DDCCImmunization, <b>target</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>EUDCC<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> immunization<span style=\"color: navy\"><b> -&gt; </b></span>qr.v = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://hl7.eu/fhir/ig/dcc/StructureDefinition/v'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vacEvent</span><b> then</b><span style=\"color: navy\"> {\r\n</span> immunization.protocolApplied<b> as </b><span style=\"color: maroon\">protocol</span><b> then</b><span style=\"color: navy\"> {\r\n</span> protocol.doseNumberPositiveInt<b> as </b><span style=\"color: maroon\">dose</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.dn = <span style=\"color: maroon\">dose</span><span style=\"color: navy\">;</span>\r\n protocol.seriesDosesPositiveInt<b> as </b><span style=\"color: maroon\">doseNum</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.sd = <span style=\"color: maroon\">doseNum</span><span style=\"color: navy\">;</span>\r\n protocol.targetDisease<b> as </b><span style=\"color: maroon\">targetDisease</span><b> then</b><span style=\"color: navy\"> {\r\n</span> targetDisease.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> coding.code<b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.tg = <span style=\"color: maroon\">code</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;ProtocolDiseaseCode&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;ProtocolDisease&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n immunization.occurrenceDateTime<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.dt = <span style=\"color: maroon\">date</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">TODO: need to populate vacEvent.ma market authorization holder</span>\r\n <span style=\"color: #b36b00\" title=\"This element was not defined prior to R5\">// immunization.extension : DDCCCountryOfVaccination as country</span>\r\n immunization.extension<b> as </b><span style=\"color: maroon\">country</span><b> where </b>(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfEvent')<b> then</b><span style=\"color: navy\"> {\r\n</span> country.valueCode<b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.co = <span style=\"color: maroon\">code</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;Country&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: #b36b00\" title=\"This element was not defined prior to R5\">// immunization.extension : DDCCBrand as brand</span>\r\n immunization.extension<b> as </b><span style=\"color: maroon\">brand</span><b> where </b>(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCEventBrand')<b> then</b><span style=\"color: navy\"> {\r\n</span> brand.valueCoding<b> as </b><span style=\"color: maroon\">valueCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> valueCoding.code<b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.mp = <span style=\"color: maroon\">code</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;VaccineBrandCode&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;VaccineBrand&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: #b36b00\" title=\"This element was not defined prior to R5\">// immunization.vaccineCode : Coding as vaccineCode then {</span>\r\n immunization.vaccineCode<b> as </b><span style=\"color: maroon\">vaccineCode</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vaccineCode.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> coding.code<b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.vp = <span style=\"color: maroon\">code</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;VaccineCoding&quot;</i><span style=\"color: navy\">;</span>\r\n ddcc.entry<b> as </b><span style=\"color: maroon\">entry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">entry.resource : DDCCOrganization as organization</span>\r\n entry.resource<span style=\"color: navy\"> : </span>Organization<b> as </b><span style=\"color: maroon\">organization</span><b> then</b><span style=\"color: navy\"> {\r\n</span> organization.name<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.is = <span style=\"color: maroon\">name</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;CentreName&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;VaccinationCentre&quot;</i><span style=\"color: navy\">;</span>\r\n ddcc.entry<b> as </b><span style=\"color: maroon\">entry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">entry.resource : DDCCVSComposition as composition</span>\r\n entry.resource<span style=\"color: navy\"> : </span>Composition<b> as </b><span style=\"color: maroon\">composition</span><b> then</b><span style=\"color: navy\"> {\r\n</span> composition.identifier<b> as </b><span style=\"color: maroon\">identifier</span><b> then</b><span style=\"color: navy\"> {\r\n</span> identifier.value<b> as </b><span style=\"color: maroon\">value</span><span style=\"color: navy\"><b> -&gt; </b></span>vacEvent.ci = <span style=\"color: maroon\">value</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;VaccinationEventIDValue&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;VaccinationEventID&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;VaccinationEvent&quot;</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>&quot;Vaccination&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "http://smart.who.int/ddcc/StructureMap/DDCCtoEUdcc",
  "version" : "1.0.0",
  "name" : "DDCCtoEUdcc",
  "status" : "draft",
  "date" : "2024-10-17T05:03:04+00:00",
  "publisher" : "WHO",
  "contact" : [
    {
      "name" : "WHO",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://who.int"
        }
      ]
    }
  ],
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code" : "001"
        }
      ]
    }
  ],
  "structure" : [
    {
      "url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCVSomposition",
      "mode" : "source",
      "alias" : "DDCC"
    },
    {
      "url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCDocument",
      "mode" : "source",
      "alias" : "DDCCDocument"
    },
    {
      "url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient",
      "mode" : "source",
      "alias" : "DDCCPatient"
    },
    {
      "url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition",
      "mode" : "source",
      "alias" : "DDCCVSComposition"
    },
    {
      "url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization",
      "mode" : "source",
      "alias" : "DDCCOrganization"
    },
    {
      "url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination",
      "mode" : "source",
      "alias" : "DDCCCountryOfVaccination"
    },
    {
      "url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand",
      "mode" : "source",
      "alias" : "DDCCVaccineBrand"
    },
    {
      "url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization",
      "mode" : "source",
      "alias" : "DDCCImmunization"
    },
    {
      "url" : "http://hl7.eu/fhir/ig/dcc/StructureDefinition/HC1",
      "mode" : "target",
      "alias" : "EUDCC"
    },
    {
      "url" : "http://hl7.eu/fhir/ig/dcc/StructureDefinition/v",
      "mode" : "target",
      "alias" : "vacEvent"
    }
  ],
  "group" : [
    {
      "name" : "DecodeDDCCtoQR",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "ddcc",
          "type" : "DDCCDocument",
          "mode" : "source"
        },
        {
          "name" : "qr",
          "type" : "EUDCC",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "Version",
          "source" : [
            {
              "context" : "ddcc"
            }
          ],
          "target" : [
            {
              "context" : "qr",
              "contextType" : "variable",
              "element" : "ver",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "XXX"
                }
              ]
            }
          ]
        },
        {
          "name" : "Patient",
          "source" : [
            {
              "context" : "ddcc",
              "element" : "entry",
              "variable" : "entry"
            }
          ],
          "rule" : [
            {
              "name" : "Patient",
              "source" : [
                {
                  "context" : "entry",
                  "type" : "DDCCPatient",
                  "element" : "resource",
                  "variable" : "patient"
                }
              ],
              "dependent" : [
                {
                  "name" : "DecodePatientToQR",
                  "variable" : [
                    "patient",
                    "qr"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "Immunization",
          "source" : [
            {
              "context" : "ddcc",
              "element" : "entry",
              "variable" : "entry"
            }
          ],
          "rule" : [
            {
              "name" : "Immunization",
              "source" : [
                {
                  "context" : "entry",
                  "type" : "Immunization",
                  "element" : "resource",
                  "variable" : "immunization"
                }
              ],
              "dependent" : [
                {
                  "name" : "DecodeImmunizationToQR",
                  "variable" : [
                    "ddcc",
                    "immunization",
                    "qr"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "DecodePatientToQR",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "patient",
          "type" : "DDCCPatient",
          "mode" : "source"
        },
        {
          "name" : "qr",
          "type" : "EUDCC",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "birthDate",
          "source" : [
            {
              "context" : "patient",
              "element" : "birthDate",
              "variable" : "birthDate"
            }
          ],
          "target" : [
            {
              "context" : "qr",
              "contextType" : "variable",
              "element" : "dob",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "birthDate"
                }
              ]
            }
          ]
        },
        {
          "name" : "name",
          "source" : [
            {
              "context" : "patient",
              "element" : "name",
              "variable" : "name"
            }
          ],
          "rule" : [
            {
              "name" : "text",
              "source" : [
                {
                  "context" : "name",
                  "element" : "text",
                  "variable" : "text"
                }
              ],
              "target" : [
                {
                  "context" : "qr",
                  "contextType" : "variable",
                  "element" : "nam",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "text"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "DecodeImmunizationToQR",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "ddcc",
          "type" : "DDCCDocument",
          "mode" : "source"
        },
        {
          "name" : "immunization",
          "type" : "DDCCImmunization",
          "mode" : "source"
        },
        {
          "name" : "qr",
          "type" : "EUDCC",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "Vaccination",
          "source" : [
            {
              "context" : "immunization"
            }
          ],
          "target" : [
            {
              "context" : "qr",
              "contextType" : "variable",
              "element" : "v",
              "variable" : "vacEvent",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "http://hl7.eu/fhir/ig/dcc/StructureDefinition/v"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "Protocol",
              "source" : [
                {
                  "context" : "immunization",
                  "element" : "protocolApplied",
                  "variable" : "protocol"
                }
              ],
              "rule" : [
                {
                  "name" : "doseNumberPositiveInt",
                  "source" : [
                    {
                      "context" : "protocol",
                      "element" : "doseNumberPositiveInt",
                      "variable" : "dose"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "vacEvent",
                      "contextType" : "variable",
                      "element" : "dn",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "dose"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "seriesDosesPositiveInt",
                  "source" : [
                    {
                      "context" : "protocol",
                      "element" : "seriesDosesPositiveInt",
                      "variable" : "doseNum"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "vacEvent",
                      "contextType" : "variable",
                      "element" : "sd",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "doseNum"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "ProtocolDisease",
                  "source" : [
                    {
                      "context" : "protocol",
                      "element" : "targetDisease",
                      "variable" : "targetDisease"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "ProtocolDiseaseCode",
                      "source" : [
                        {
                          "context" : "targetDisease",
                          "element" : "coding",
                          "variable" : "coding"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "code",
                          "source" : [
                            {
                              "context" : "coding",
                              "element" : "code",
                              "variable" : "code"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "vacEvent",
                              "contextType" : "variable",
                              "element" : "tg",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "code"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "occurrenceDateTime",
              "source" : [
                {
                  "context" : "immunization",
                  "element" : "occurrenceDateTime",
                  "variable" : "date"
                }
              ],
              "target" : [
                {
                  "context" : "vacEvent",
                  "contextType" : "variable",
                  "element" : "dt",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "date"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "Country",
              "source" : [
                {
                  "context" : "immunization",
                  "element" : "extension",
                  "variable" : "country",
                  "condition" : "(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfEvent')"
                }
              ],
              "rule" : [
                {
                  "name" : "valueCode",
                  "source" : [
                    {
                      "context" : "country",
                      "element" : "valueCode",
                      "variable" : "code"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "vacEvent",
                      "contextType" : "variable",
                      "element" : "co",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "code"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "VaccineBrand",
              "source" : [
                {
                  "context" : "immunization",
                  "element" : "extension",
                  "variable" : "brand",
                  "condition" : "(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCEventBrand')"
                }
              ],
              "rule" : [
                {
                  "name" : "VaccineBrandCode",
                  "source" : [
                    {
                      "context" : "brand",
                      "element" : "valueCoding",
                      "variable" : "valueCoding"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "valueCoding",
                          "element" : "code",
                          "variable" : "code"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "vacEvent",
                          "contextType" : "variable",
                          "element" : "mp",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "code"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "VaccineCoding",
              "source" : [
                {
                  "context" : "immunization",
                  "element" : "vaccineCode",
                  "variable" : "vaccineCode"
                }
              ],
              "rule" : [
                {
                  "name" : "VaccineCode",
                  "source" : [
                    {
                      "context" : "vaccineCode",
                      "element" : "coding",
                      "variable" : "coding"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "code",
                      "source" : [
                        {
                          "context" : "coding",
                          "element" : "code",
                          "variable" : "code"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "vacEvent",
                          "contextType" : "variable",
                          "element" : "vp",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "code"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "VaccinationCentre",
              "source" : [
                {
                  "context" : "ddcc",
                  "element" : "entry",
                  "variable" : "entry"
                }
              ],
              "rule" : [
                {
                  "name" : "CentreName",
                  "source" : [
                    {
                      "context" : "entry",
                      "type" : "Organization",
                      "element" : "resource",
                      "variable" : "organization"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "name",
                      "source" : [
                        {
                          "context" : "organization",
                          "element" : "name",
                          "variable" : "name"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "vacEvent",
                          "contextType" : "variable",
                          "element" : "is",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "name"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "VaccinationEvent",
              "source" : [
                {
                  "context" : "ddcc",
                  "element" : "entry",
                  "variable" : "entry"
                }
              ],
              "rule" : [
                {
                  "name" : "VaccinationEventID",
                  "source" : [
                    {
                      "context" : "entry",
                      "type" : "Composition",
                      "element" : "resource",
                      "variable" : "composition"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "VaccinationEventIDValue",
                      "source" : [
                        {
                          "context" : "composition",
                          "element" : "identifier",
                          "variable" : "identifier"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "value",
                          "source" : [
                            {
                              "context" : "identifier",
                              "element" : "value",
                              "variable" : "value"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "vacEvent",
                              "contextType" : "variable",
                              "element" : "ci",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueId" : "value"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

XIG built as of ??metadata-date??. Found ??metadata-resources?? resources in ??metadata-packages?? packages.